package cl.duocap.refaxion.dto;

import java.io.Serializable;
import java.util.Date;

public class UsuarioDTO implements Serializable {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private int idUsuario;
	private String rut;
	private String nombre;
	private String apellidoPaterno;
	private String apellidoMaterno;
	private String telefono;
	private String direccion;
	private String fechaIngreso;
	private int idTipoUsuario;
	private String tipoUsuarioDescripcion;
	private String usuario;
	private String password;
	private int estado;
	private String email;
	private TipoUsuarioDTO tipoUsuarioDto;

	

	
	
	
	public UsuarioDTO() {
		
	}
	
	
	
	
	
	public UsuarioDTO(int idUsuario, String rut, String nombre,
			String apellidoPaterno, String apellidoMaterno, String telefono,
			String direccion, String fechaIngreso, int idTipoUsuario,
			String tipoUsuarioDescripcion, String usuario, String password,
			int estado, String email, int idTaller, Date fechaIngresoTrans,
			TipoUsuarioDTO tipoUsuarioDto) {
		super();
		this.idUsuario = idUsuario;
		this.rut = rut;
		this.nombre = nombre;
		this.apellidoPaterno = apellidoPaterno;
		this.apellidoMaterno = apellidoMaterno;
		this.telefono = telefono;
		this.direccion = direccion;
		this.fechaIngreso = fechaIngreso;
		this.idTipoUsuario = idTipoUsuario;
		this.tipoUsuarioDescripcion = tipoUsuarioDescripcion;
		this.usuario = usuario;
		this.password = password;
		this.estado = estado;
		this.email = email;
		
		this.tipoUsuarioDto = tipoUsuarioDto;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + idUsuario;
		result = prime * result + ((nombre == null) ? 0 : nombre.hashCode());
		result = prime * result
				+ ((password == null) ? 0 : password.hashCode());
		result = prime * result + ((rut == null) ? 0 : rut.hashCode());
		return result;
	}


	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		UsuarioDTO other = (UsuarioDTO) obj;
		if (idUsuario != other.idUsuario)
			return false;
		if (nombre == null) {
			if (other.nombre != null)
				return false;
		} else if (!nombre.equals(other.nombre))
			return false;
		if (password == null) {
			if (other.password != null)
				return false;
		} else if (!password.equals(other.password))
			return false;
		if (rut == null) {
			if (other.rut != null)
				return false;
		} else if (!rut.equals(other.rut))
			return false;
		return true;
	}


	public String getRut() {
		return rut;
	}
	public void setRut(String rut) {
		this.rut = rut;
	}
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getApellidoPaterno() {
		return apellidoPaterno;
	}
	public void setApellidoPaterno(String apellidoPaterno) {
		this.apellidoPaterno = apellidoPaterno;
	}
	public String getApellidoMaterno() {
		return apellidoMaterno;
	}
	public void setApellidoMaterno(String apellidoMaterno) {
		this.apellidoMaterno = apellidoMaterno;
	}
	public String getFechaIngreso() {
		return fechaIngreso;
	}
	public void setFechaIngreso(String fechaIngreso) {
		this.fechaIngreso = fechaIngreso;
	}
	public String getUsuario() {
		return usuario;
	}
	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}

	public int getIdUsuario() {
		return idUsuario;
	}

	public void setIdUsuario(int idUsuario) {
		this.idUsuario = idUsuario;
	}

	public String getTelefono() {
		return telefono;
	}

	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}

	public String getDireccion() {
		return direccion;
	}

	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

	public int getEstado() {
		return estado;
	}

	public void setEstado(int estado) {
		this.estado = estado;
	}

	public String getTipoUsuarioDescripcion() {
		return tipoUsuarioDescripcion;
	}

	public void setTipoUsuarioDescripcion(String tipoUsuarioDescripcion) {
		this.tipoUsuarioDescripcion = tipoUsuarioDescripcion;
	}

	public TipoUsuarioDTO getTipoUsuarioDto() {
		return tipoUsuarioDto;
	}

	public void setTipoUsuarioDto(TipoUsuarioDTO tipoUsuarioDto) {
		this.tipoUsuarioDto = tipoUsuarioDto;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	
	public int getIdTipoUsuario() {
		return idTipoUsuario;
	}

	public void setIdTipoUsuario(int idTipoUsuario) {
		this.idTipoUsuario = idTipoUsuario;
	}


}
